02. What is Gazebo?

What is Gazebo?

Gazebo is a physics-based, high fidelity 3D simulator for robotics. Gazebo provides the ability to accurately simulate one or more robots in complex indoor and outdoor environments filled with static and dynamic objects, realistic lighting, and programmable interactions.

Gazebo facilitates robotic design, rapid prototyping, testing, and simulation of real-life scenarios. While Gazebo is platform agnostic and runs on Windows, Mac, and Linux, it is mostly used in conjunction with the Robotics Operating System (ROS) running on Linux systems. You will learn how to use ROS in the upcoming lessons. Simply put, Gazebo is an essential tool for every roboticist.

Gazebo Features

Gazebo has eight features that you can take advantage of:

  1. Dynamics Simulation: Model a robot's dynamics with a high-performance physics engine.
  2. Advanced 3D Graphics: Render your environment with high-fidelity graphics, including lighting, shadows, and textures.
  3. Sensors: Add sensors to your robot, generate data, and simulate noise.
  4. Plugins: Write a plugin to interact with your world, robot, or sensor.
  5. Model Database: Download a robot or environment from Gazebo library or build your own through their engine.
  6. Socket-Based Communication: Interact with Gazebo running on a remote server through socket-based communication.
  7. Cloud Simulation: Run Gazebo on a server and interact with it through a browser.
  8. Command Line Tools: Control your simulated environment through the command line tools.

This lesson will focus on Gazebo’s four main features including Dynamics Simulation , Advanced 3D Graphics , Plugins , and Model Database. For more information on Gazebo and its history visit the Gazebo website .